package muhnes.sizoo.dal;

import muhnes.sizoo.HibernateUtilZoologia;
import muhnes.sizoo.modelo.Recoleccion;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 * Clase que implementa los metodos definidos en RecoleccionDao
 * @author Ricardo Orellana
 */
public class RecoleccionDaoImpl extends GenericoDAO< Recoleccion, Integer >  
                                implements RecoleccionDao{

    public RecoleccionDaoImpl() {
        super( HibernateUtilZoologia.getSessionFactory() );
    }

    @Override
    protected Class<?> getClaseEntidad () {
        return Recoleccion.class;
    }

    /**
     * Método que verifica la unicidad del recolector
     *  
     */
    @Override
    public boolean verificarUnicidad(Recoleccion entidad) {
        return false;
    }

     /**
     * Método que verifica que la entidad sea independiente de otras entidades.
     *  
     */
    @Override
    public boolean verificarDependencia (Recoleccion entidad) {
        Session sesion = fabricaSesion.getCurrentSession();        
        String hql = "from Especimen where recoleccion.codigorecoleccion = :codigo";
        Query consulta = sesion.createQuery( hql );
        consulta.setParameter("codigo",entidad.getCodigorecoleccion());
        return !consulta.list().isEmpty();
    }
}
